package com.ndp.fb.rdb.api;

import com.ndp.fb.rdb.model.ProductConfiguration;
import com.ndp.fb.rdb.model.ProductConfigurationExt;

import java.util.List;

/**
 * Created by infi on 2015/1/29.
 */
public interface ProductConfigurationRdbService {
    List<ProductConfiguration> findByFbConnectionObjectId(Long connectionObjectId);
    
    /**
     * 获取在投放控制中打开的应用
     * @discription
     * @author giser.yang       
     * 创建时间 2015年6月8日 下午1:36:40     
     * @param connectionObjectId
     * @return
     */
    List<ProductConfiguration> findByFbConnectionObjectIdInUse(Long connectionObjectId, String userId);
    
    ProductConfiguration findByFbConnectionObjectIdAndPlatForm(Long connectionObjectId,String platform);

    List<ProductConfiguration> findByFbConnectionObjectIdWithOut(Long connectionObjectId);

    ProductConfiguration findById(Long productConfigurationId);
    /**
     * 根据产品url获取产品配置
     * @discription
     * @author yanghao       
     * 创建时间 2015年3月19日 下午3:02:03     
     * @param objectStoryUrl
     * @return
     */
    ProductConfiguration findByObjectStoryUrl(String objectStoryUrl);
    /**
     * 根据产品url获取产品配置
     * @discription
     * @author yanghao       
     * 创建时间 2015年3月19日 下午3:02:03     
     * @param objectStoryUrl
     * @return
     */
    ProductConfiguration findByObjectStoryUrlLike(String objectStoryUrl);

    List<ProductConfiguration> findAll();
    List<ProductConfigurationExt> findAllProductConfigurationExt();

    Integer update(ProductConfiguration productConfiguration);
    


    Long saveProductConfiguration(ProductConfiguration productConfigurations);

    /**
     * 从缓存里面获取产品配置
     * @discription
     * @author giser.yang       
     * 创建时间 2015年5月8日 下午3:57:59     
     * @param productConfigurationId
     * @return
     */
    ProductConfiguration findFromCache(Long productConfigurationId);

}
